namespace Brjnk.CoordinateSystem2D
{
    using System.Windows;

    /// <summary>
    /// </summary>
    public class MouseMoveArgs
    {
        private MousePosition previousPosition;
        private MousePosition currentPosition;
        private Vector screenVector;
        private Vector vector;

        public MouseMoveArgs(MousePosition previousPosition, MousePosition currentPosition)
        {
            this.previousPosition = previousPosition;
            this.currentPosition = currentPosition;
            this.screenVector = this.currentPosition.RelativePosition - this.previousPosition.RelativePosition;
            this.vector = this.currentPosition.RealPosition - this.previousPosition.RealPosition;
        }

        public MousePosition Previous { get { return previousPosition; } }

        public MousePosition Current { get { return currentPosition; } }

        public Vector ScreenVector { get { return screenVector; } }

        public Vector Vector { get { return vector; } }
    }
}